<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>FUNCTIONS</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
HREF="t1.html"><LINK
REL="PREVIOUS"
TITLE="Datatypes"
HREF="x31.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
></TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="x31.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
>&nbsp;</TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="AEN102"
>FUNCTIONS</A
></H1
><P
>These are grouped by functionality, often using the main data type being
manipulated.
  </P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN105"
>Initialization</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fcinitloadconfig.html"
>FcInitLoadConfig</A
>&nbsp;--&nbsp;load configuration</DT
><DT
><A
HREF="fcinitloadconfigandfonts.html"
>FcInitLoadConfigAndFonts</A
>&nbsp;--&nbsp;load configuration and font data</DT
><DT
><A
HREF="fcinit.html"
>FcInit</A
>&nbsp;--&nbsp;initialize fontconfig library</DT
><DT
><A
HREF="fcfini.html"
>FcFini</A
>&nbsp;--&nbsp;finalize fontconfig library</DT
><DT
><A
HREF="fcgetversion.html"
>FcGetVersion</A
>&nbsp;--&nbsp;library version number</DT
><DT
><A
HREF="fcinitreinitialize.html"
>FcInitReinitialize</A
>&nbsp;--&nbsp;re-initialize library</DT
><DT
><A
HREF="fcinitbringuptodate.html"
>FcInitBringUptoDate</A
>&nbsp;--&nbsp;reload configuration files if needed</DT
></DL
></DIV
><P
>These functions provide some control over how the library is initialized.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN241"
>FcPattern</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fcpatterncreate.html"
>FcPatternCreate</A
>&nbsp;--&nbsp;Create a pattern</DT
><DT
><A
HREF="fcpatternduplicate.html"
>FcPatternDuplicate</A
>&nbsp;--&nbsp;Copy a pattern</DT
><DT
><A
HREF="fcpatternreference.html"
>FcPatternReference</A
>&nbsp;--&nbsp;Increment pattern reference count</DT
><DT
><A
HREF="fcpatterndestroy.html"
>FcPatternDestroy</A
>&nbsp;--&nbsp;Destroy a pattern</DT
><DT
><A
HREF="fcpatternequal.html"
>FcPatternEqual</A
>&nbsp;--&nbsp;Compare patterns</DT
><DT
><A
HREF="fcpatternequalsubset.html"
>FcPatternEqualSubset</A
>&nbsp;--&nbsp;Compare portions of patterns</DT
><DT
><A
HREF="fcpatternfilter.html"
>FcPatternFilter</A
>&nbsp;--&nbsp;Filter the objects of pattern</DT
><DT
><A
HREF="fcpatternhash.html"
>FcPatternHash</A
>&nbsp;--&nbsp;Compute a pattern hash value</DT
><DT
><A
HREF="fcpatternadd.html"
>FcPatternAdd</A
>&nbsp;--&nbsp;Add a value to a pattern</DT
><DT
><A
HREF="fcpatternaddweak.html"
>FcPatternAddWeak</A
>&nbsp;--&nbsp;Add a value to a pattern with weak binding</DT
><DT
><A
HREF="fcpatternadd-type.html"
>FcPatternAdd-Type</A
>&nbsp;--&nbsp;Add a typed value to a pattern</DT
><DT
><A
HREF="fcpatternget.html"
>FcPatternGet</A
>&nbsp;--&nbsp;Return a value from a pattern</DT
><DT
><A
HREF="fcpatternget-type.html"
>FcPatternGet-Type</A
>&nbsp;--&nbsp;Return a typed value from a pattern</DT
><DT
><A
HREF="fcpatternbuild.html"
>FcPatternBuild</A
>&nbsp;--&nbsp;Create patterns from arguments</DT
><DT
><A
HREF="fcpatterndel.html"
>FcPatternDel</A
>&nbsp;--&nbsp;Delete a property from a pattern</DT
><DT
><A
HREF="fcpatternremove.html"
>FcPatternRemove</A
>&nbsp;--&nbsp;Remove one object of the specified type from the pattern</DT
><DT
><A
HREF="fcpatternprint.html"
>FcPatternPrint</A
>&nbsp;--&nbsp;Print a pattern for debugging</DT
><DT
><A
HREF="fcdefaultsubstitute.html"
>FcDefaultSubstitute</A
>&nbsp;--&nbsp;Perform default substitutions in a pattern</DT
><DT
><A
HREF="fcnameparse.html"
>FcNameParse</A
>&nbsp;--&nbsp;Parse a pattern string</DT
><DT
><A
HREF="fcnameunparse.html"
>FcNameUnparse</A
>&nbsp;--&nbsp;Convert a pattern back into a string that can be parsed</DT
><DT
><A
HREF="fcpatternformat.html"
>FcPatternFormat</A
>&nbsp;--&nbsp;Format a pattern into a string according to a format specifier</DT
></DL
></DIV
><P
>An FcPattern is an opaque type that holds both patterns to match against the
available fonts, as well as the information about each font.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN1003"
>FcFontSet</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fcfontsetcreate.html"
>FcFontSetCreate</A
>&nbsp;--&nbsp;Create a font set</DT
><DT
><A
HREF="fcfontsetdestroy.html"
>FcFontSetDestroy</A
>&nbsp;--&nbsp;Destroy a font set</DT
><DT
><A
HREF="fcfontsetadd.html"
>FcFontSetAdd</A
>&nbsp;--&nbsp;Add to a font set</DT
><DT
><A
HREF="fcfontsetlist.html"
>FcFontSetList</A
>&nbsp;--&nbsp;List fonts from a set of font sets</DT
><DT
><A
HREF="fcfontsetmatch.html"
>FcFontSetMatch</A
>&nbsp;--&nbsp;Return the best font from a set of font sets</DT
><DT
><A
HREF="fcfontsetprint.html"
>FcFontSetPrint</A
>&nbsp;--&nbsp;Print a set of patterns to stdout</DT
><DT
><A
HREF="fcfontsetsort.html"
>FcFontSetSort</A
>&nbsp;--&nbsp;Add to a font set</DT
><DT
><A
HREF="fcfontsetsortdestroy.html"
>FcFontSetSortDestroy</A
>&nbsp;--&nbsp;DEPRECATED destroy a font set</DT
></DL
></DIV
><P
>An FcFontSet simply holds a list of patterns; these are used to return the
results of listing available fonts.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN1214"
>FcObjectSet</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fcobjectsetcreate.html"
>FcObjectSetCreate</A
>&nbsp;--&nbsp;Create an object set</DT
><DT
><A
HREF="fcobjectsetadd.html"
>FcObjectSetAdd</A
>&nbsp;--&nbsp;Add to an object set</DT
><DT
><A
HREF="fcobjectsetdestroy.html"
>FcObjectSetDestroy</A
>&nbsp;--&nbsp;Destroy an object set</DT
><DT
><A
HREF="fcobjectsetbuild.html"
>FcObjectSetBuild</A
>&nbsp;--&nbsp;Build object set from args</DT
></DL
></DIV
><P
>An FcObjectSet holds a list of pattern property names; it is used to
indicate which properties are to be returned in the patterns from
FcFontList.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN1316"
>FreeType specific functions</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fcfreetypecharindex.html"
>FcFreeTypeCharIndex</A
>&nbsp;--&nbsp;map Unicode to glyph id</DT
><DT
><A
HREF="fcfreetypecharset.html"
>FcFreeTypeCharSet</A
>&nbsp;--&nbsp;compute Unicode coverage</DT
><DT
><A
HREF="fcfreetypecharsetandspacing.html"
>FcFreeTypeCharSetAndSpacing</A
>&nbsp;--&nbsp;compute Unicode coverage and spacing type</DT
><DT
><A
HREF="fcfreetypequery.html"
>FcFreeTypeQuery</A
>&nbsp;--&nbsp;compute pattern from font file (and index)</DT
><DT
><A
HREF="fcfreetypequeryface.html"
>FcFreeTypeQueryFace</A
>&nbsp;--&nbsp;compute pattern from FT_Face</DT
></DL
></DIV
><P
>While the fontconfig library doesn't insist that FreeType be used as the
rasterization mechanism for fonts, it does provide some convenience
functions.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN1435"
>FcValue</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fcvaluedestroy.html"
>FcValueDestroy</A
>&nbsp;--&nbsp;Free a value</DT
><DT
><A
HREF="fcvaluesave.html"
>FcValueSave</A
>&nbsp;--&nbsp;Copy a value</DT
><DT
><A
HREF="fcvalueprint.html"
>FcValuePrint</A
>&nbsp;--&nbsp;Print a value to stdout</DT
><DT
><A
HREF="fcvalueequal.html"
>FcValueEqual</A
>&nbsp;--&nbsp;Test two values for equality</DT
></DL
></DIV
><P
>FcValue is a structure containing a type tag and a union of all possible
datatypes.  The tag is an enum of type 
<I
CLASS="EMPHASIS"
>FcType</I
>
and is intended to provide a measure of run-time
typechecking, although that depends on careful programming.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN1521"
>FcCharSet</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fccharsetcreate.html"
>FcCharSetCreate</A
>&nbsp;--&nbsp;Create an empty character set</DT
><DT
><A
HREF="fccharsetdestroy.html"
>FcCharSetDestroy</A
>&nbsp;--&nbsp;Destroy a character set</DT
><DT
><A
HREF="fccharsetaddchar.html"
>FcCharSetAddChar</A
>&nbsp;--&nbsp;Add a character to a charset</DT
><DT
><A
HREF="fccharsetdelchar.html"
>FcCharSetDelChar</A
>&nbsp;--&nbsp;Add a character to a charset</DT
><DT
><A
HREF="fccharsetcopy.html"
>FcCharSetCopy</A
>&nbsp;--&nbsp;Copy a charset</DT
><DT
><A
HREF="fccharsetequal.html"
>FcCharSetEqual</A
>&nbsp;--&nbsp;Compare two charsets</DT
><DT
><A
HREF="fccharsetintersect.html"
>FcCharSetIntersect</A
>&nbsp;--&nbsp;Intersect charsets</DT
><DT
><A
HREF="fccharsetunion.html"
>FcCharSetUnion</A
>&nbsp;--&nbsp;Add charsets</DT
><DT
><A
HREF="fccharsetsubtract.html"
>FcCharSetSubtract</A
>&nbsp;--&nbsp;Subtract charsets</DT
><DT
><A
HREF="fccharsetmerge.html"
>FcCharSetMerge</A
>&nbsp;--&nbsp;Merge charsets</DT
><DT
><A
HREF="fccharsethaschar.html"
>FcCharSetHasChar</A
>&nbsp;--&nbsp;Check a charset for a char</DT
><DT
><A
HREF="fccharsetcount.html"
>FcCharSetCount</A
>&nbsp;--&nbsp;Count entries in a charset</DT
><DT
><A
HREF="fccharsetintersectcount.html"
>FcCharSetIntersectCount</A
>&nbsp;--&nbsp;Intersect and count charsets</DT
><DT
><A
HREF="fccharsetsubtractcount.html"
>FcCharSetSubtractCount</A
>&nbsp;--&nbsp;Subtract and count charsets</DT
><DT
><A
HREF="fccharsetissubset.html"
>FcCharSetIsSubset</A
>&nbsp;--&nbsp;Test for charset inclusion</DT
><DT
><A
HREF="fccharsetfirstpage.html"
>FcCharSetFirstPage</A
>&nbsp;--&nbsp;Start enumerating charset contents</DT
><DT
><A
HREF="fccharsetnextpage.html"
>FcCharSetNextPage</A
>&nbsp;--&nbsp;Continue enumerating charset contents</DT
><DT
><A
HREF="fccharsetcoverage.html"
>FcCharSetCoverage</A
>&nbsp;--&nbsp;DEPRECATED return coverage for a Unicode page</DT
><DT
><A
HREF="fccharsetnew.html"
>FcCharSetNew</A
>&nbsp;--&nbsp;DEPRECATED alias for FcCharSetCreate</DT
></DL
></DIV
><P
>An FcCharSet is a boolean array indicating a set of Unicode chars.  Those
associated with a font are marked constant and cannot be edited.
FcCharSets may be reference counted internally to reduce memory consumption;
this may be visible to applications as the result of FcCharSetCopy may
return it's argument, and that CharSet may remain unmodifiable.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN1988"
>FcLangSet</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fclangsetcreate.html"
>FcLangSetCreate</A
>&nbsp;--&nbsp;create a langset object</DT
><DT
><A
HREF="fclangsetdestroy.html"
>FcLangSetDestroy</A
>&nbsp;--&nbsp;destroy a langset object</DT
><DT
><A
HREF="fclangsetcopy.html"
>FcLangSetCopy</A
>&nbsp;--&nbsp;copy a langset object</DT
><DT
><A
HREF="fclangsetadd.html"
>FcLangSetAdd</A
>&nbsp;--&nbsp;add a language to a langset</DT
><DT
><A
HREF="fclangsetdel.html"
>FcLangSetDel</A
>&nbsp;--&nbsp;delete a language from a langset</DT
><DT
><A
HREF="fclangsetunion.html"
>FcLangSetUnion</A
>&nbsp;--&nbsp;Add langsets</DT
><DT
><A
HREF="fclangsetsubtract.html"
>FcLangSetSubtract</A
>&nbsp;--&nbsp;Subtract langsets</DT
><DT
><A
HREF="fclangsetcompare.html"
>FcLangSetCompare</A
>&nbsp;--&nbsp;compare language sets</DT
><DT
><A
HREF="fclangsetcontains.html"
>FcLangSetContains</A
>&nbsp;--&nbsp;check langset subset relation</DT
><DT
><A
HREF="fclangsetequal.html"
>FcLangSetEqual</A
>&nbsp;--&nbsp;test for matching langsets</DT
><DT
><A
HREF="fclangsethash.html"
>FcLangSetHash</A
>&nbsp;--&nbsp;return a hash value for a langset</DT
><DT
><A
HREF="fclangsethaslang.html"
>FcLangSetHasLang</A
>&nbsp;--&nbsp;test langset for language support</DT
><DT
><A
HREF="fcgetdefaultlangs.html"
>FcGetDefaultLangs</A
>&nbsp;--&nbsp;Get the default languages list</DT
><DT
><A
HREF="fclangsetgetlangs.html"
>FcLangSetGetLangs</A
>&nbsp;--&nbsp;get the list of languages in the langset</DT
><DT
><A
HREF="fcgetlangs.html"
>FcGetLangs</A
>&nbsp;--&nbsp;Get list of languages</DT
><DT
><A
HREF="fclangnormalize.html"
>FcLangNormalize</A
>&nbsp;--&nbsp;Normalize the language string</DT
><DT
><A
HREF="fclanggetcharset.html"
>FcLangGetCharSet</A
>&nbsp;--&nbsp;Get character map for a language</DT
></DL
></DIV
><P
>An FcLangSet is a set of language names (each of which include language and
an optional territory). They are used when selecting fonts to indicate which
languages the fonts need to support. Each font is marked, using language
orthography information built into fontconfig, with the set of supported
languages.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN2382"
>FcMatrix</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fcmatrixinit.html"
>FcMatrixInit</A
>&nbsp;--&nbsp;initialize an FcMatrix structure</DT
><DT
><A
HREF="fcmatrixcopy.html"
>FcMatrixCopy</A
>&nbsp;--&nbsp;Copy a matrix</DT
><DT
><A
HREF="fcmatrixequal.html"
>FcMatrixEqual</A
>&nbsp;--&nbsp;Compare two matrices</DT
><DT
><A
HREF="fcmatrixmultiply.html"
>FcMatrixMultiply</A
>&nbsp;--&nbsp;Multiply matrices</DT
><DT
><A
HREF="fcmatrixrotate.html"
>FcMatrixRotate</A
>&nbsp;--&nbsp;Rotate a matrix</DT
><DT
><A
HREF="fcmatrixscale.html"
>FcMatrixScale</A
>&nbsp;--&nbsp;Scale a matrix</DT
><DT
><A
HREF="fcmatrixshear.html"
>FcMatrixShear</A
>&nbsp;--&nbsp;Shear a matrix</DT
></DL
></DIV
><P
>FcMatrix structures hold an affine transformation in matrix form.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN2562"
>FcConfig</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fcconfigcreate.html"
>FcConfigCreate</A
>&nbsp;--&nbsp;Create a configuration</DT
><DT
><A
HREF="fcconfigreference.html"
>FcConfigReference</A
>&nbsp;--&nbsp;Increment config reference count</DT
><DT
><A
HREF="fcconfigdestroy.html"
>FcConfigDestroy</A
>&nbsp;--&nbsp;Destroy a configuration</DT
><DT
><A
HREF="fcconfigsetcurrent.html"
>FcConfigSetCurrent</A
>&nbsp;--&nbsp;Set configuration as default</DT
><DT
><A
HREF="fcconfiggetcurrent.html"
>FcConfigGetCurrent</A
>&nbsp;--&nbsp;Return current configuration</DT
><DT
><A
HREF="fcconfiguptodate.html"
>FcConfigUptoDate</A
>&nbsp;--&nbsp;Check timestamps on config files</DT
><DT
><A
HREF="fcconfighome.html"
>FcConfigHome</A
>&nbsp;--&nbsp;return the current home directory.</DT
><DT
><A
HREF="fcconfigenablehome.html"
>FcConfigEnableHome</A
>&nbsp;--&nbsp;controls use of the home directory.</DT
><DT
><A
HREF="fcconfigbuildfonts.html"
>FcConfigBuildFonts</A
>&nbsp;--&nbsp;Build font database</DT
><DT
><A
HREF="fcconfiggetconfigdirs.html"
>FcConfigGetConfigDirs</A
>&nbsp;--&nbsp;Get config directories</DT
><DT
><A
HREF="fcconfiggetfontdirs.html"
>FcConfigGetFontDirs</A
>&nbsp;--&nbsp;Get font directories</DT
><DT
><A
HREF="fcconfiggetconfigfiles.html"
>FcConfigGetConfigFiles</A
>&nbsp;--&nbsp;Get config files</DT
><DT
><A
HREF="fcconfiggetcache.html"
>FcConfigGetCache</A
>&nbsp;--&nbsp;DEPRECATED used to return per-user cache filename</DT
><DT
><A
HREF="fcconfiggetcachedirs.html"
>FcConfigGetCacheDirs</A
>&nbsp;--&nbsp;return the list of directories searched for cache files</DT
><DT
><A
HREF="fcconfiggetfonts.html"
>FcConfigGetFonts</A
>&nbsp;--&nbsp;Get config font set</DT
><DT
><A
HREF="fcconfiggetblanks.html"
>FcConfigGetBlanks</A
>&nbsp;--&nbsp;Get config blanks</DT
><DT
><A
HREF="fcconfiggetrescaninterval.html"
>FcConfigGetRescanInterval</A
>&nbsp;--&nbsp;Get config rescan interval</DT
><DT
><A
HREF="fcconfigsetrescaninterval.html"
>FcConfigSetRescanInterval</A
>&nbsp;--&nbsp;Set config rescan interval</DT
><DT
><A
HREF="fcconfigappfontaddfile.html"
>FcConfigAppFontAddFile</A
>&nbsp;--&nbsp;Add font file to font database</DT
><DT
><A
HREF="fcconfigappfontadddir.html"
>FcConfigAppFontAddDir</A
>&nbsp;--&nbsp;Add fonts from directory to font database</DT
><DT
><A
HREF="fcconfigappfontclear.html"
>FcConfigAppFontClear</A
>&nbsp;--&nbsp;Remove all app fonts from font database</DT
><DT
><A
HREF="fcconfigsubstitutewithpat.html"
>FcConfigSubstituteWithPat</A
>&nbsp;--&nbsp;Execute substitutions</DT
><DT
><A
HREF="fcconfigsubstitute.html"
>FcConfigSubstitute</A
>&nbsp;--&nbsp;Execute substitutions</DT
><DT
><A
HREF="fcfontmatch.html"
>FcFontMatch</A
>&nbsp;--&nbsp;Return best font</DT
><DT
><A
HREF="fcfontsort.html"
>FcFontSort</A
>&nbsp;--&nbsp;Return list of matching fonts</DT
><DT
><A
HREF="fcfontrenderprepare.html"
>FcFontRenderPrepare</A
>&nbsp;--&nbsp;Prepare pattern for loading font file</DT
><DT
><A
HREF="fcfontlist.html"
>FcFontList</A
>&nbsp;--&nbsp;List fonts</DT
><DT
><A
HREF="fcconfigfilename.html"
>FcConfigFilename</A
>&nbsp;--&nbsp;Find a config file</DT
><DT
><A
HREF="fcconfigparseandload.html"
>FcConfigParseAndLoad</A
>&nbsp;--&nbsp;load a configuration file</DT
><DT
><A
HREF="fcconfiggetsysroot.html"
>FcConfigGetSysRoot</A
>&nbsp;--&nbsp;Obtain the system root directory</DT
><DT
><A
HREF="fcconfigsetsysroot.html"
>FcConfigSetSysRoot</A
>&nbsp;--&nbsp;Set the system root directory</DT
></DL
></DIV
><P
>An FcConfig object holds the internal representation of a configuration.
There is a default configuration which applications may use by passing 0 to
any function using the data within an FcConfig.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN3263"
>FcObjectType</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fcnameregisterobjecttypes.html"
>FcNameRegisterObjectTypes</A
>&nbsp;--&nbsp;Register object types</DT
><DT
><A
HREF="fcnameunregisterobjecttypes.html"
>FcNameUnregisterObjectTypes</A
>&nbsp;--&nbsp;Unregister object types</DT
><DT
><A
HREF="fcnamegetobjecttype.html"
>FcNameGetObjectType</A
>&nbsp;--&nbsp;Lookup an object type</DT
></DL
></DIV
><P
>Provides for application-specified font name object types so that new
pattern elements can be generated from font names.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN3328"
>FcConstant</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fcnameregisterconstants.html"
>FcNameRegisterConstants</A
>&nbsp;--&nbsp;Register symbolic constants</DT
><DT
><A
HREF="fcnameunregisterconstants.html"
>FcNameUnregisterConstants</A
>&nbsp;--&nbsp;Unregister symbolic constants</DT
><DT
><A
HREF="fcnamegetconstant.html"
>FcNameGetConstant</A
>&nbsp;--&nbsp;Lookup symbolic constant</DT
><DT
><A
HREF="fcnameconstant.html"
>FcNameConstant</A
>&nbsp;--&nbsp;Get the value for a symbolic constant</DT
></DL
></DIV
><P
>Provides for application-specified symbolic constants for font names.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN3416"
>FcBlanks</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fcblankscreate.html"
>FcBlanksCreate</A
>&nbsp;--&nbsp;Create an FcBlanks</DT
><DT
><A
HREF="fcblanksdestroy.html"
>FcBlanksDestroy</A
>&nbsp;--&nbsp;Destroy and FcBlanks</DT
><DT
><A
HREF="fcblanksadd.html"
>FcBlanksAdd</A
>&nbsp;--&nbsp;Add a character to an FcBlanks</DT
><DT
><A
HREF="fcblanksismember.html"
>FcBlanksIsMember</A
>&nbsp;--&nbsp;Query membership in an FcBlanks</DT
></DL
></DIV
><P
>An FcBlanks object holds a list of Unicode chars which are expected to
be blank when drawn.  When scanning new fonts, any glyphs which are
empty and not in this list will be assumed to be broken and not placed in
the FcCharSet associated with the font.  This provides a significantly more
accurate CharSet for applications.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN3499"
>FcAtomic</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fcatomiccreate.html"
>FcAtomicCreate</A
>&nbsp;--&nbsp;create an FcAtomic object</DT
><DT
><A
HREF="fcatomiclock.html"
>FcAtomicLock</A
>&nbsp;--&nbsp;lock a file</DT
><DT
><A
HREF="fcatomicnewfile.html"
>FcAtomicNewFile</A
>&nbsp;--&nbsp;return new temporary file name</DT
><DT
><A
HREF="fcatomicorigfile.html"
>FcAtomicOrigFile</A
>&nbsp;--&nbsp;return original file name</DT
><DT
><A
HREF="fcatomicreplaceorig.html"
>FcAtomicReplaceOrig</A
>&nbsp;--&nbsp;replace original with new</DT
><DT
><A
HREF="fcatomicdeletenew.html"
>FcAtomicDeleteNew</A
>&nbsp;--&nbsp;delete new file</DT
><DT
><A
HREF="fcatomicunlock.html"
>FcAtomicUnlock</A
>&nbsp;--&nbsp;unlock a file</DT
><DT
><A
HREF="fcatomicdestroy.html"
>FcAtomicDestroy</A
>&nbsp;--&nbsp;destroy an FcAtomic object</DT
></DL
></DIV
><P
>These functions provide a safe way to update configuration files, allowing ongoing
reading of the old configuration file while locked for writing and ensuring that a
consistent and complete version of the configuration file is always available.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN3660"
>File and Directory routines</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fcfilescan.html"
>FcFileScan</A
>&nbsp;--&nbsp;scan a font file</DT
><DT
><A
HREF="fcfileisdir.html"
>FcFileIsDir</A
>&nbsp;--&nbsp;check whether a file is a directory</DT
><DT
><A
HREF="fcdirscan.html"
>FcDirScan</A
>&nbsp;--&nbsp;scan a font directory without caching it</DT
><DT
><A
HREF="fcdirsave.html"
>FcDirSave</A
>&nbsp;--&nbsp;DEPRECATED: formerly used to save a directory cache</DT
><DT
><A
HREF="fcdircacheunlink.html"
>FcDirCacheUnlink</A
>&nbsp;--&nbsp;Remove all caches related to <TT
CLASS="PARAMETER"
><I
>dir</I
></TT
></DT
><DT
><A
HREF="fcdircachevalid.html"
>FcDirCacheValid</A
>&nbsp;--&nbsp;check directory cache</DT
><DT
><A
HREF="fcdircacheload.html"
>FcDirCacheLoad</A
>&nbsp;--&nbsp;load a directory cache</DT
><DT
><A
HREF="fcdircacherescan.html"
>FcDirCacheRescan</A
>&nbsp;--&nbsp;Re-scan a directory cache</DT
><DT
><A
HREF="fcdircacheread.html"
>FcDirCacheRead</A
>&nbsp;--&nbsp;read or construct a directory cache</DT
><DT
><A
HREF="fcdircacheloadfile.html"
>FcDirCacheLoadFile</A
>&nbsp;--&nbsp;load a cache file</DT
><DT
><A
HREF="fcdircacheunload.html"
>FcDirCacheUnload</A
>&nbsp;--&nbsp;unload a cache file</DT
></DL
></DIV
><P
>These routines work with font files and directories, including font
directory cache files.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN3938"
>FcCache routines</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fccachedir.html"
>FcCacheDir</A
>&nbsp;--&nbsp;Return directory of <TT
CLASS="PARAMETER"
><I
>cache</I
></TT
></DT
><DT
><A
HREF="fccachecopyset.html"
>FcCacheCopySet</A
>&nbsp;--&nbsp;Returns a copy of the fontset from <TT
CLASS="PARAMETER"
><I
>cache</I
></TT
></DT
><DT
><A
HREF="fccachesubdir.html"
>FcCacheSubdir</A
>&nbsp;--&nbsp;Return the <TT
CLASS="PARAMETER"
><I
>i</I
></TT
>'th subdirectory.</DT
><DT
><A
HREF="fccachenumsubdir.html"
>FcCacheNumSubdir</A
>&nbsp;--&nbsp;Return the number of subdirectories in <TT
CLASS="PARAMETER"
><I
>cache</I
></TT
>.</DT
><DT
><A
HREF="fccachenumfont.html"
>FcCacheNumFont</A
>&nbsp;--&nbsp;Returns the number of fonts in <TT
CLASS="PARAMETER"
><I
>cache</I
></TT
>.</DT
><DT
><A
HREF="fcdircacheclean.html"
>FcDirCacheClean</A
>&nbsp;--&nbsp;This tries to clean up the cache directory of <TT
CLASS="PARAMETER"
><I
>cache_dir</I
></TT
>.
This returns FcTrue if the operation is successfully complete. otherwise FcFalse.</DT
><DT
><A
HREF="fccachecreatetagfile.html"
>FcCacheCreateTagFile</A
>&nbsp;--&nbsp;Create CACHEDIR.TAG at cache directory.</DT
></DL
></DIV
><P
>These routines work with font directory caches, accessing their contents in
limited ways. It is not expected that normal applications will need to use
these functions.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN4095"
>FcStrSet and FcStrList</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fcstrsetcreate.html"
>FcStrSetCreate</A
>&nbsp;--&nbsp;create a string set</DT
><DT
><A
HREF="fcstrsetmember.html"
>FcStrSetMember</A
>&nbsp;--&nbsp;check set for membership</DT
><DT
><A
HREF="fcstrsetequal.html"
>FcStrSetEqual</A
>&nbsp;--&nbsp;check sets for equality</DT
><DT
><A
HREF="fcstrsetadd.html"
>FcStrSetAdd</A
>&nbsp;--&nbsp;add to a string set</DT
><DT
><A
HREF="fcstrsetaddfilename.html"
>FcStrSetAddFilename</A
>&nbsp;--&nbsp;add a filename to a string set</DT
><DT
><A
HREF="fcstrsetdel.html"
>FcStrSetDel</A
>&nbsp;--&nbsp;delete from a string set</DT
><DT
><A
HREF="fcstrsetdestroy.html"
>FcStrSetDestroy</A
>&nbsp;--&nbsp;destroy a string set</DT
><DT
><A
HREF="fcstrlistcreate.html"
>FcStrListCreate</A
>&nbsp;--&nbsp;create a string iterator</DT
><DT
><A
HREF="fcstrlistfirst.html"
>FcStrListFirst</A
>&nbsp;--&nbsp;get first string in iteration</DT
><DT
><A
HREF="fcstrlistnext.html"
>FcStrListNext</A
>&nbsp;--&nbsp;get next string in iteration</DT
><DT
><A
HREF="fcstrlistdone.html"
>FcStrListDone</A
>&nbsp;--&nbsp;destroy a string iterator</DT
></DL
></DIV
><P
>A data structure for enumerating strings, used to list directories while
scanning the configuration as directories are added while scanning.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN4336"
>String utilities</A
></H2
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="fcutf8toucs4.html"
>FcUtf8ToUcs4</A
>&nbsp;--&nbsp;convert UTF-8 to UCS4</DT
><DT
><A
HREF="fcucs4toutf8.html"
>FcUcs4ToUtf8</A
>&nbsp;--&nbsp;convert UCS4 to UTF-8</DT
><DT
><A
HREF="fcutf8len.html"
>FcUtf8Len</A
>&nbsp;--&nbsp;count UTF-8 encoded chars</DT
><DT
><A
HREF="fcutf16toucs4.html"
>FcUtf16ToUcs4</A
>&nbsp;--&nbsp;convert UTF-16 to UCS4</DT
><DT
><A
HREF="fcutf16len.html"
>FcUtf16Len</A
>&nbsp;--&nbsp;count UTF-16 encoded chars</DT
><DT
><A
HREF="fcislower.html"
>FcIsLower</A
>&nbsp;--&nbsp;check for lower case ASCII character</DT
><DT
><A
HREF="fcisupper.html"
>FcIsUpper</A
>&nbsp;--&nbsp;check for upper case ASCII character</DT
><DT
><A
HREF="fctolower.html"
>FcToLower</A
>&nbsp;--&nbsp;convert upper case ASCII to lower case</DT
><DT
><A
HREF="fcstrcopy.html"
>FcStrCopy</A
>&nbsp;--&nbsp;duplicate a string</DT
><DT
><A
HREF="fcstrdowncase.html"
>FcStrDowncase</A
>&nbsp;--&nbsp;create a lower case translation of a string</DT
><DT
><A
HREF="fcstrcopyfilename.html"
>FcStrCopyFilename</A
>&nbsp;--&nbsp;create a complete path from a filename</DT
><DT
><A
HREF="fcstrcmp.html"
>FcStrCmp</A
>&nbsp;--&nbsp;compare UTF-8 strings</DT
><DT
><A
HREF="fcstrcmpignorecase.html"
>FcStrCmpIgnoreCase</A
>&nbsp;--&nbsp;compare UTF-8 strings ignoring case</DT
><DT
><A
HREF="fcstrstr.html"
>FcStrStr</A
>&nbsp;--&nbsp;locate UTF-8 substring</DT
><DT
><A
HREF="fcstrstrignorecase.html"
>FcStrStrIgnoreCase</A
>&nbsp;--&nbsp;locate UTF-8 substring ignoring ASCII case</DT
><DT
><A
HREF="fcstrplus.html"
>FcStrPlus</A
>&nbsp;--&nbsp;concatenate two strings</DT
><DT
><A
HREF="fcstrfree.html"
>FcStrFree</A
>&nbsp;--&nbsp;free a string</DT
><DT
><A
HREF="fcstrdirname.html"
>FcStrDirname</A
>&nbsp;--&nbsp;directory part of filename</DT
><DT
><A
HREF="fcstrbasename.html"
>FcStrBasename</A
>&nbsp;--&nbsp;last component of filename</DT
></DL
></DIV
><P
>Fontconfig manipulates many UTF-8 strings represented with the FcChar8 type.
These functions are exposed to help applications deal with these UTF-8
strings in a locale-insensitive manner.
    </P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="x31.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="t1.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Datatypes</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>